package cn.cvs.dao;

import cn.cvs.pojo.Supplier;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SupplierMapper {

    //查询所有供应商记录
    List<Supplier> queryAll();

    //根据id查找
    Supplier queryByIdAndNameSupplier(@Param("id") Integer id);

    //添加供货商
    int insertSupplier(Supplier supplier);

    //修改
    int updateSupplier(Supplier supplier);

    //删除
    int deleteSupplier(Integer id);

    //if+where标签改造供货商模块的列表查询功能
    List<Supplier> queryByCodeAndSupName(@Param("supCode") String supCode, @Param("supName") String supName);

    //使用MyBatis的choose标签改造供货商模块的列表查询功能
    List<Supplier> queryChoose(@Param("supName") String supName, @Param("supCode") String supCode, @Param("supContact") String supContact, @Param("createdTime") String createdTime);

    //使用MyBatis的if和set标签改造供货商模块的修改功能
    int updateByifAndSetSupplier(Supplier supplier);

    //使用MyBatis的if和trim标签升级供货商模块的数据更新功能
    int updateByifAndSetSupplierTrim(Supplier supplier);

    //实现入库单模块和供货商模块的分页查询功能
    List<Supplier> querySupplierPage(@Param("supCode") String supCode, @Param("supName") String supName, @Param("pageBean") Integer pageBean, @Param("pageSize") Integer pageSize);

    //查找供应商总记录数
    int querySupplierCount(@Param("supCode") String supCode, @Param("supName") String supName);

    //根据id查询供货信息和仓库交易结果
    int queryByIdPayStatus(@Param("supId") Integer supId);
}
